package ru.niir.goodfil.ui;

import ru.niir.goodfil.db.Client;
import ru.niir.goodfil.db.RestsExport;
import ru.niir.goodfil.ui.utils.RestsExportManager;

import javax.faces.model.SelectItem;
import java.util.List;

public class UnsubscribeBean extends PageBean {

    /**
     * Получить id клиента из url
     */
    private long userId;

    private Client client;

    private boolean isUnsubscribed;

    private String restsExportCrontab;


    public UnsubscribeBean() {
        init();
    }

    public void init() {
        userId = Long.parseLong(request().getParameter("userid"));
        client = gf().getClientById(getUserId());
        restsExportCrontab = "";
        RestsExport restsExport = gf().getRestExportByClientId(getUserId());
        if (restsExport == null) {
            restsExportCrontab = RestsExportManager.getFirst();
        } else {
            restsExportCrontab = restsExport.getCrontab();
        }
    }

    public String getRestsExportCrontab() {
        return restsExportCrontab;
    }

    public void setRestsExportCrontab(String restsExportCrontab) {
        this.restsExportCrontab = restsExportCrontab;
    }

    public List<SelectItem> getRestsExportCrontabs() {
        return (List<SelectItem>) RestsExportManager.selects();
    }

    //=======Гетеры и сетеры=================================================
    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public void doUnsubscribe() {
        gf().removeRestsExport(getUserId());
        facesInfo("Вы успешно отписались от рассылки");
    }

    public Client getClient() {
        return client;
    }

    public void save(){
        gf().saveRestsExport(new RestsExport(getClient().getId(), restsExportCrontab));
        facesInfo("Условия рассылки остатков успешно сохранены");
    }
}
